package com.settlement.system.model.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.settlement.system.common.base.BaseEntity;
import com.settlement.system.common.enums.DataGenerationEnum;
import com.settlement.system.common.enums.TMBillTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
* <p>
* 基础字段配置
* </p>
*
* @author huangrensen
* @since 2023-09-20
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class SysBaseColumnMatch extends BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id")
    private String id;

    /**
    * 关联平台
    */
    private String platformKey;

    /**
     * 数据生成方式
     */
    private String dataGeneration = DataGenerationEnum.DIRECT.getValue();

    /**
     * 单据类型
     */
    private String billType; // 用户配置的原始单据类型，如：天猫订单

    /**
    * 原始字段
    */
    private String sourceColumn;

    /**
    * 标准字段
    */
    private String standardColumn;

    // 当数据类型为【通过计算】时，这个字段为各个原始字段通过计算的配置
    @TableField(exist = false)
    private List<SysCalculateColumn> calculateColumnList;
    @TableField(exist = false)
    private List<SysColumnMatchCondition> conditions;
}
